//
// Created by user on 2022/3/1.
//
#include <vector>
#include <stack>
using namespace std;
vector<int> findRightLarge(vector<int> &nums){
      vector<int> ans;
      stack<int> st1;
    for (int i = 0; i < nums.size(); ++i) {
        int x = nums[i];
        //单调递增栈
        while (!st1.empty() && x>nums[st1.top()]){
            ans[st1.top()] = i;
            st1.pop();
        }
        st1.push(i);
    }
    while (!st1.empty()){
        ans.push_back(-1);
        st1.pop();
    }
    return ans;
}